In recent years, electronic documents have become ubiquitous. At the same time, the number and variety of devices and tools for viewing electronic documents have been continually increasing.
In one familiar scenario, a user views a document or web page that cannot be displayed all at once on the screen, and scrolls down through the document to view the previously hidden part of the document. For example, a user of a desktop computer may click a mouse button or manipulate a scroll wheel to scroll the document. Some applications, such as the Firefox® browser available from the Mozilla Foundation, also permit automatic scrolling using a scroll wheel button of a mouse, which is activated by pressing down on the top of the scroll wheel. In this scenario, a user clicks on the mouse wheel button at an initial location on a page and then moves the mouse cursor to initiate automatic scrolling in the direction of the movement of the mouse cursor. A small movement of the mouse cursor from the location of the mouse-wheel-button click causes slower scrolling, and a larger movement causes faster scrolling. On a page where both vertical scrolling and horizontal scrolling are available, this mouse-wheel-button scrolling technique can be very difficult to control. The scrolling direction may shift from a vertical scrolling direction (up or down), to various degrees of diagonal scrolling, to a horizontal scrolling direction (left or right) with corresponding movements of the mouse. This leads to a very unnatural viewing experience.
Furthermore, the act of viewing documents or web pages on a desktop computer with a mouse is becoming less common as users move to more intuitive computing devices with smaller screens, such as tablet input devices, that use touchscreens or electronic pens for input. In addition, the smaller screen areas of such devices lead to more situations in which a document or page may be scrolled both vertically and horizontally.
Therefore, there is a need for improved methods to provide precise and intuitive scrolling control on such devices.